<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        /* 清除浮动就是为了解决因为子级元素浮动导致父级元素高度为0的问题（父级没有设定高度） */



        /* 因为父亲没有给定height所以孩子一浮动之后，孩子就脱离了标准文档，所以父亲的高度就变成了两个边框的高度，下边的标准流会在父亲边框底下，浮动的孩子会遮住下边的标准流 */
        .father {
            border: 1px solid red;
            /* 2.会触发BFC，BFC会清除浮动 只要加上overflow就行 */
            /* overflow: hidden; */
        }

        /* 3.使用伪元素清除浮动 */
        /* .clearfix::after{
            display: block;
            content: ".";
            height: 0px;
            visibility: hidden;
            clear: both;
        } */

        /* 4.双伪元素清除浮动 */
        .clearfix::before,
        .clearfix::after {
            content: "";
            display: table;
        }

        .clearfix::after {
            clear: both;
        }

        .clearfix {
            *zoom: 1;
        }

        .damao {
            width: 100px;
            height: 100px;
            background-color: pink;
            float: left;
        }

        .ermao {
            width: 150px;
            height: 100px;
            background-color: purple;
            float: left;
        }

        .xiaomi {
            width: 300px;
            height: 100px;
            background-color: black;
        }
    </style>
</head>

<body>
    <div class="father clearfix">
        <div class="damao"></div>
        <div class="ermao"></div>
        <!-- 1.W3C推荐做法:额外标签法 -->
        <!-- <div style="clear: both;"></div> -->
    </div>
    <div class="xiaomi">

    </div>
</body>

</html>